Coc.nvimを触ってみようアドベントカレンダー 17日目 – coc-git
Coc.nvimを触ってみよう Advent Calendar 2021 17日目です。
今回は coc-git
です。
coc-git について
gitリポジトリのステータス取得及び操作が可能になるcoc拡張です。GitHub及びGitLabのAPIキーを使うことでリモートリポジトリの情報取得等も可能になります。
coc-git をインストールする
vimを起動した状態で以下のコマンドを実行します。
:CocInstall coc-git
GitHub及びGitLabの操作をする場合は、.envrc
にAPIキーを設定しておきます。
echo "export GITHUB_API_TOKEN=PERSONAL_ACCESS_TOKEN" >> .envrc echo "export GITLAB_PRIVATE_TOKEN=PERSONAL_ACCESS_TOKEN" >> .envrc direnv allow .
使ってみる
コミットログの表示、衝突時の解消、プッシュ等のファイル編集で発生するであろう操作が可能です。
vimのステータスライン設定
gitのステータスを表示可能です。lightlineのケースはREADMEに記載があります。
lualineの場合は表示させたいセクションによって設定箇所が変わってきますが、指定する値は変わらず g:coc_git_status
及び g:coc_git_blame
の2択です。
sections = { lualine_a = {'g:coc_git_blame', 'g:coc_status', 'bo:filetype'}, lualine_b = {'g:coc_git_status', 'branch', 'diff', {'diagnostics', sources={'coc'}}},
GitHub Issueの選択
Open状態のGitHub Issueを指定してアクセス可能です。:CocList
にて issues
を指定した上で、Issueを選択します。若干操作が多めになるため、以下の様に init.vim
で設定しておくことで Space
→ i
で即一覧表示を出すことも可能です。
nnoremap <silent> <space>i <C-u>CocList --normal issues<CR>
開きたいIssue上でEnterを押すと、ブラウザで該当Issueが表示されます。
Issueが登録されていない場合は以下の出力になります。
他にも幾つものコマンドがありますが、:CocCommand git.browserOpen
はGitHubがshell経由でのアクセスに対応していません。
あとがき
ファイルの編集にて発生しうるgitの操作についてはカバーしていますが、pull等のリポジトリそのもののアップデート操作についてはノータッチです。個人的にはIssueを開く手続きが非常にお手軽になった点で導入する価値を感じました。